package selen;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.Test;
import javax.swing.*;
import java.util.concurrent.TimeUnit;

import static org.openqa.selenium.support.ui.ExpectedConditions.*;

/**
 * Created by pc on 23.06.14.
 */
public class BuyCheapestSmart {
    @Test
    public void buyCheapestSmart(){

        //создание WebDriver для Firefox
        WebDriver webDr = new FirefoxDriver();

        //делает браузер на весь экран
        webDr.manage().window().maximize();

        //пойти на сайт
        webDr.get("http://rozetka.com.ua/");

        // получение состояния "корзина", данных записать в переменну, сравнить с ожиданием
        String TextFromCart = webDr.findElement(By.className("m-cart-empty")).getText();
        Assert.assertEquals("Корзина пуста", TextFromCart);

        //создание мувера мышки(удобство пользования)
        Actions builder = new Actions(webDr);
        builder.moveToElement(webDr.findElement(By.id("phones-mp3-gps")));
        builder.perform();
//      webDr.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);

        //создание объекта для явного ожидания элемента
        WebDriverWait wait = new WebDriverWait(webDr, 10);
        wait.until(elementToBeClickable(By.xpath("//*[@id=\"phones-mp3-gps\"]/div/div/ol/li[1]/ul[1]/li[1]/a")));
        //нажатие на элемент Смартфоны
        webDr.findElement(By.xpath("//*[@id=\"phones-mp3-gps\"]/div/div/ol/li[1]/ul[1]/li[1]/a")).click();

        //нажатие на элемнет Все Смартфоны
        webDr.findElement(By.xpath("//*[@id=\"head_banner_container\"]/div[4]/div/div/div[2]/div[3]/ul/li[1]/ul/li[1]/a")).click();

        //ожидание загрузки страници "Все смартфоны", после кликнуть элементы "По рейтигу"
        wait.until(presenceOfElementLocated(By.xpath("//*[@id=\"sort_view\"]/a")));
        webDr.findElement(By.xpath("//*[@id=\"sort_view\"]/a")).click();


        wait.until(elementToBeClickable(By.xpath("//*[@id=\"sort_view\"]/div/div/ul/li[1]/a")));
        webDr.findElement(By.xpath("//*[@id=\"sort_view\"]/div/div/ul/li[1]/a")).click();
        //зайти на страницу самого дешового смартфона
        wait.until(elementToBeClickable(By.xpath("//*[@id=\"image_item1099604\"]/a")));
        webDr.findElement(By.xpath("//*[@id=\"image_item1099604\"]/a")).click();

        //нажать кнопку "Купить"
        wait.until(elementToBeClickable(By.xpath("//*[@id=\"head_banner_container\"]/div[3]/div/div[1]/div/div[1]/div/div[1]/div/div[1]/div[3]/div[2]/div/div[2]/form/button")));
        webDr.findElement(By.xpath("//*[@id=\"head_banner_container\"]/div[3]/div/div[1]/div/div[1]/div/div[1]/div/div[1]/div[3]/div[2]/div/div[2]/form/button")).click();

        wait.until(presenceOfElementLocated(By.className("cart-items")));
        // закрыть фрейм
        webDr.findElement(By.className("popup-close-icon")).click();

        webDr.quit();




    }


}
